package JAVACORE_TRAINING.OOPS_CONCEPTS.OOP_EXCERCISES.EX02;

import java.util.Scanner;

public class Views02 {

	public static void main(String[] args) {
		String strExit = "";
		Scanner scc = new Scanner(System.in);
		do {
			// 1. Mời nhập vào số a
			// a. Nhập dữ liệu vào Temp
			String strTemp = "";
			Scanner sc = new Scanner(System.in);
			do {
				System.out.println("Mời nhập vào số a? ");
				strTemp = sc.nextLine();
			} while (strTemp.isEmpty());

			// b. Chuyển đổi giá trị từ chuỗi --> số
			double dNumA = Double.parseDouble(strTemp);

			// 3. Mời nhập vào số b
			// a. Nhập dữ liệu vào Temp
			do {
				System.out.println("Mời nhập vào số b? ");
				strTemp = sc.nextLine();
			} while (strTemp.isEmpty());

			// b. Chuyển đổi giá trị từ chuỗi --> số
			double dNumB = Double.parseDouble(strTemp);

			// 4. Mời chọn phép tính toán: 0 - Cộng; 1 - Trừ; 2 - Nhân; 3 -
			// Chia?
			do {
				System.out.println("Mời chọn: 0 - Cộng; 1 - Trừ; 2 - Nhân; 3 - Chia?");
				strTemp = sc.nextLine();
			} while (strTemp.isEmpty() || Integer.parseInt(strTemp) < 0 || Integer.parseInt(strTemp) > 3);

			byte bOpt = Byte.parseByte(strTemp);

			// 5. Kiểm tra & tính toán theo sự lựa chọn của người dùng
			CalculatorObject objCal = new CalculatorObject();
			objCal.setdNumA(dNumA);
			objCal.setdNumB(dNumB);
			objCal.setbOpt(bOpt);
			Controllers objController = new Controllers();
			
			if(objCal.getbOpt() == 3){
				if (objCal.getdNumB() == 0)
					System.out.println("Phép tính ko thực hiện được");
				else System.out.println("Kết quả = "
								+ objController.ExecOf_Calculator(objCal));	
			}
			else System.out.println("Kết quả = "
							+ objController.ExecOf_Calculator(objCal));
			
			System.out.println("Bạn đã tính toán chán chưa? Y/N");
			strExit = scc.nextLine();

		} while (!strExit.toUpperCase().equals("Y"));
		System.out.println("Cảm ơn bạn đã sử dụng phần mềm của chúng tôi :D");
	}
}
